package com.aibaixun.system.service;

import com.aibaixun.common.core.domain.R;
import com.aibaixun.system.domain.TpType;
import com.aibaixun.system.domain.TpTypeData;
import com.aibaixun.system.domain.TpTypeField;
import com.aibaixun.system.domain.dto.TpTypeDataPageDto;
import com.aibaixun.system.domain.dto.TpTypeFieldBatchDto;
import com.aibaixun.system.domain.dto.TpTypeFieldPageDto;
import com.aibaixun.system.domain.vo.TpTypeListVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author zhangyh
* @description 针对表【tp_type(拓扑类型信息表)】的数据库操作Service
* @createDate 2024-06-12 15:08:43
*/
public interface TpTypeService extends IService<TpType> {

    R saveType(TpType dto);

    R updateType(TpType dto);

    R deleteType(Long typeId);

    R<List<TpTypeListVo>> listType(TpType dto);

    R saveTypeField(TpTypeField dto);

    R updateTypeField(TpTypeField dto);

    R deleteTypeField(Long fieldId);

    R<Page<TpTypeField>> getTypeFieldPage(Page page, TpTypeFieldPageDto pageDto);

    R saveTypeData(TpTypeData dto);

    R updateTypeData(TpTypeData dto);

    R deleteTypeData(Long dataId);

    R<Page<TpTypeData>> getTypeDataPage(Page page, TpTypeDataPageDto pageDto);

    R getAreaList();

    R saveTypeFieldBatch(TpTypeFieldBatchDto dto);
}
